home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
QRZ! Ham Radio 8
/
QRZ Ham Radio Callsign Database - Volume 8.iso
/
pc
/
files
/
p_misc
/
netconf.arc
/
UNIX.TXT
< prev
next >
Wrap
Text File
|
1988-12-10
|
45KB
|
905 lines
Packet Radio and IP for the Unix[1] Operating
System
Clifford Neuman, N1DMM
Wayne Yamamoto
Department of Computer Science
University of Washington
Seattle, WA 98195
_A_B_S_T_R_A_C_T
Many services are currently available on the ARPA
Internet that would be of interest to amateur packet
radio users. The ARPA Internet connects universities
and other organizations around the world that speak
TCP/IP. One advantage of running TCP/IP on packet
radio is the ability to access these services, and to
interconnect with other systems that are part of the
internet. This paper describes the implementation of
AX.25 as a link layer protocol for the Unix operating
system and the use of this system as an IP gateway
between our local amateur packet radio network and our
department's ethernet at the University of Washington,
which in turn provides access to the entire Internet.
The potential role of such a system for amateur packet
radio is discussed, and a mechanism to allow users
that don't have the resources to run TCP/IP themselves
to access such services is described.
_1. _I_n_t_r_o_d_u_c_t_i_o_n
In the past year, we have
started to see wider accep-
tance and use of layer three
protocols in amateur packet
radio. So far, most of this
activity has been by people
who are interested in advanc-
_________________________
[1] UNIX is a trademark
of AT&T
ing the state of amateur
packet radio. Many are people
who deal with computer net-
works outside of amateur
radio, and would like to see
similar facilities available
within packet radio. Others
have worked on mechanisms to
solve some of the problems
that amateur packet radio pro-
duced, and their solutions
have made a significant
difference in the way people
use packet radio in the parts
December 6, 1988
of the country where their
solutions are being tested.
In order to get more use
of layer three protocols by
the users instead of the
developers, there are two
requirements that should be
met. First, they need incen-
tive. There should be some-
thing that they can do using
layer three protocols that
they can't do using connection
[2] mode. One incentive is
the ability to access some of
the services available on more
established networks such as
the ARPA Internet. Among
these services are nameser-
vice, file transfer, access to
various databases, a more
flexible system for electronic
mail, and the ability to log
into hosts on connected net-
works. These services can be
made available in two ways.
Servers can exist directly on
amateur packet radio hosts, or
they can exist on other net-
works with a gateway set up
between the two networks. By
connecting our local packet
radio subnet to the internet,
it is possible to access files
on, and log into, computers at
other internet sites (or at
least, those where we have
accounts).
Secondly, we have to
lower the cost of entry. Most
packet users do not have IBM
PCs, or computers of
equivalent or greater power.
Many are simply using termi-
_________________________
[2] By ``connection''
mode we mean the existing
connection mechanism pro-
vided with TNCs when higher
level protocols are not be-
ing used.
nals connected to their TNC.
This is probably one of the
reasons that NET/ROM is so
popular. With a packet sta-
tion and no special hardware,
one is able to connect to a
NET/ROM node, connect to
another node through the net-
work, and come out the other
end. If we are to generate as
much interest in layer three
protocols such as TCP/IP, then
we must make it easy for con-
nection mode users to connect
to, and use, a system that
speaks IP. We can then point
out the advantages they would
have if their own system spoke
IP directly. Among these
advantages are the abilities
to exchange mail and transfer
files while simultaneously
connected to one or more other
systems.
_2. _S_y_s_t_e_m _O_v_e_r_v_i_e_w
We decided one way to
approach the above problems
would be to get a machine that
is on our department's ether-
net onto packet radio. We had
a MicroVax-I[3] available for
our use. The advantage of
using such a machine is that
it already supports many of
the network services that are
desirable in the packet radio
community. Among these are
electronic mail, remote login,
file transfer, and name ser-
vice. Although not presently
running on the machine, there
are other applications avail-
able too, such as NNTP[4]
which could be used as a bul-
_________________________
[3] MicroVax is a trade-
mark of Digital Equipment
Corporation
[4] Netnews Transfer Pro-
tocol
December 6, 1988
letin distribution mechanism.
The existence of such a
system gives users who have
brought up TCP/IP something to
connect to. The next step is
to give people who aren't yet
running TCP/IP something with
which they can connect. To do
this, we want to allow users
to connect to our system in
connection mode, and for them
to be able to login to our
system by this mechanism. The
only other service we want to
support in connection mode is
mail. We would like to be
able to exchange mail with
PBBSs, which don't speak
TCP/IP.
_3. _R_o_l_e _i_n _a _p_a_c_k_e_t _n_e_t_w_o_r_k
A machine such as the one
I described above serves
several functions in a packet
radio network. It functions
as a server for various net-
work services. It is useful
as a ``home'' machine for
those users who do not have
computers of their own. It
also can serve as a gateway
between multiple packet sub-
nets, and perhaps even non-
amateur networks. I have
already described its use as a
server. In this section I
describe its use in some of
these other functions.
_3._1. _H_o_m_e _m_a_c_h_i_n_e_s
For those users who don't
have IP running, our machine
can serve as a home machine.
Users can connect to it by
using connection mode. The
system can support multiple
connections of this type
simultaneously. When a user
is connected to our system, he
can use the various services
available to IP hosts. He
also will be allocated a lim-
ited amount of disk space, and
will be able to retrieve files
in which he is interested.
The mail interface the user
will be able to use presents a
better interface than the cen-
tral BBOARD mechanism which is
currently in use. The user
will be able to store messages
indefinitely as long as he
doesn't exceed his quota.
_3._2. _L_e_v_e_l _2 _t_o _L_e_v_e_l _3 _G_a_t_e_-
_w_a_y
Since the user can con-
nect to the system using con-
nection mode, and since the
system also speaks TCP, the
system serves as a Level 2 to
Level 3 gateway. Users will
not have to give up connec-
tivity with the old in order
to begin using the new.
_3._3. _I_P _G_a_t_e_w_a_y
A machine such as the one
described above is also a log-
ical machine to use as an IP
gateway, at least until such
time as we have dedicated
machines for such purposes.
Gatewaying could be between
multiple packet radio net-
works, and even between non-
radio networks such as the
ARPA Internet.
There are services avail-
able on the ARPA Internet that
are of interest to packet
radio users. If there is a
university in the area, it is
likely that there may be an
online database of upcoming
events. There are also many
mailing lists on the Internet
that might be of interest to
Amateurs.
Connecting to non-amateur
networks does bring up a
December 6, 1988
number of issues, such as
screening of messages in both
directions. I discuss solu-
tions to this problem later in
this paper.
_3._4. _N_E_T/_R_O_M
NET/ROM fits in nicely
with TCP/IP. IP can be run on
top of NET/ROM. In such an
arrangement, users on a LAN
would speak IP on top of
AX.25. Multiple LANs could
then be linked together using
NET/ROM. An IP gateway would
exist on each local area net-
work and would appear as a
NET/ROM node to other NET/ROM
stations. This arrangement is
similar to the way that local
area networks are linked by
the ARPAnet. NET/ROM nodes
correspond to the IMPs on net
10.
_4. _R_e_l_a_t_e_d _W_o_r_k
There has been a lot of
work recently in the TCP/IP
arena. Work has been done on
Phil Karn's IBM-PC code, and
it has been ported to other
machines such as the Amiga,
the Mac, and others. Steve
Ward and Mike Chepponis have
been working on additional
features in order to give
users greater incentive to
upgrade to TCP/IP.
Implementations of the
TCP/IP code are needed for
many more machines. Services
such as the ones I have
described also are needed for
these machines. Not many peo-
ple have access to a MicroVax
as I did. It is a good
machine to use in order to
determine how network users
react to such services. The
more machines such services
are available on, the more
people will be able to set
them up.
_5. _I_m_p_l_e_m_e_n_t_a_t_i_o_n
The Ultrix[5] kernel
already had all the code
necessary for Internet Proto-
col. Because we did not
modify the ``upper'' IP inter-
face, layers riding on top of
IP were able to use the packet
radio medium without modifica-
tion. Thus, TCP and UDP did
not need to be modified and,
similarly, applications run-
ning on top of those protocols
worked without modification.
The IP code in the kernel did
not require modification
either. All we had to do was
to find a way to take the IP
packets generated by the ker-
nel, encapsulate them in
AX.25 packets, and send them
off, using SLIP, to the KISS
interface of the TNC.
_5._1. _I_P _a_n_d _A_X._2_5 _a_n_d _t_h_e
_g_a_t_e_w_a_y
We chose to implement a
pseudo-device driver for the
packet radio interface. The
driver supports the same calls
as network device drivers do
for other media such as ether-
net. Our driver is a pseudo
driver because there is not
really any hardware on the bus
for our packet radio con-
troller. Instead, our con-
troller is plugged into a
dz[6] port, and the kernel
must communicate with it
through that port.
_________________________
[5] Ultrix is a trademark
of Digital Equipment Cor-
poration
[6] A controller for mul-
tiple RS-232 ports
December 6, 1988
Teaching the kernel to
recognize the new interface
was easy. There is a struc-
ture called if_net that is
associated with each inter-
face. This structure contains
pointers to the kernel pro-
cedures, which are used to
initialize the interface, send
a packet, change parameters,
and a few other operations.
The next trick was to figure
out how we could receive pack-
ets. This was done by includ-
ing a routine similar to the
one that gets called in the
ethernet driver when a packet
arrives. The difference,
though, is that our routine is
called by the dz driver when-
ever a character is received
on the line to which the TNC
is connected.
As each character is
read, we do some initial pro-
cessing on the fly. In par-
ticular, we unescape frame end
characters that are embedded
in the packet. When the final
frame end is read, we check
the header of the message,
note the callsigns, note the
layer three protocol type, and
if it is IP, we add the encap-
sulated IP packet to the queue
of incoming IP packets to be
dealt with by the existing
upper layers.
In order to implement the
routines described above, we
started with a few routines
from Phil Karn's code for the
IBM PC. These routines encap-
sulated and decapsulated AX.25
packets. With a few modifica-
tions these routines were made
to work in the Ultrix kernel.
The gateway functionality
came for free. The way an IP
gateway works is that when a
packet is received, the system
looks at its IP header to
determine the destination
address. If the destination
address is not its own, it
then decides which is the
correct destination interface,
and which system is the
correct next hop. This is all
done at the IP layer, and the
same code that existed for
gatewaying packets on ether-
nets works for AX.25 subnets
too.
_5._2. _A_d_d_r_e_s_s _R_e_s_o_l_u_t_i_o_n _P_r_o_-
_t_o_c_o_l
The final task was to
translate internet addresses
into AX.25 addresses. This is
done using ARP, the address
resolution protocol, in the
same manner that IP addresses
are translated into ethernet
addresses. But, AX.25
addresses look like amateur
radio callsigns followed by a
4 bit system ID. To make
matters worse, some entries
may contain additional
callsigns for digipeaters that
are to repeat the packet.
Thus, what is needed is a dif-
ferent set of ARP routines for
the packet radio interfaces.
Phil Karn's IBM-PC code
includes an ARP implementation
that supports both AX.25 and
ethernet addresses. Because
we did not want to modify the
code for our system that is
used on the ethernet side, we
decided not to take this code.
ARP lookup occurs at layer
two, and thus, gets called
inside either the ethernet
driver, or the AX.25 driver.
The routing tables at the IP
layer determine which driver
is called. Since the ARP
lookup occurs inside our code,
we are able to call a separate
routine that deals specifi-
cally with AX.25 addresses.
December 6, 1988
_5._3. _C_o_n_n_e_c_t_i_o_n _m_o_d_e
As already discussed, we
would like to support connec-
tion mode on our gateway.
Doing so would allow users who
do not have the resources to
run TCP/IP to be able to
access IP network services.
Further, users can give IP a
try, and if they like it, then
they might consider running it
themselves. However, there is
no reason, though, that con-
nection mode should be sup-
ported in the kernel as is IP.
The way our implementa-
tion is set up, it is easy to
allow user level process deal
with connection mode. We can
tell the kernel that if a
packet comes in, and its pro-
tocol ID is not IP, that the
packet should be placed on the
input queue for the appropri-
ate tty line. A user program
can then read packets that the
system isn't interested in
from that line, and deal with
the packets itself. By set-
ting appropriate parameters
for the kernel, additional
filtering could be provided,
though one would not want to
do anything too complex in the
kernel.
The user level process
that reads such packets would
have to keep track of any con-
nections and support connec-
tion mode itself. Such a pro-
gram could maintain multiple
connections, and direct input
to and output from pseudo ter-
minals. This would allow con-
nection mode users to log into
the system. Such a program
could accept connections to
multiple SSIDs, thus allowing
one SSID to be used for the
transfer of mail with local
non-IP bulletin boards.
_5._4. _O_t_h_e_r _l_a_y_e_r _3 _p_r_o_t_o_c_o_l_s
In addition to supporting
connection mode, support could
be provided in a similar
manner for other layer 3 pro-
tocols. I already mentioned
how NET/ROM can be used to
forward IP packets. One could
conceivably support the rest
of the NET/ROM interface in
the same manner as connection
mode is supported. Of course,
NET/ROM users would not have
the benefit of the additional
services available using IP.
_6. _U_n_r_e_s_o_l_v_e_d _i_s_s_u_e_s
The ability to intercon-
nect amateur packet radio net-
works and non-amateur networks
introduces a few problems
which have not been completely
resolved as of this time. In
this section, I present those
problems, and for some of
them, I suggest some possible
solutions.
_6._1. _T_i_m_e_o_u_t_s
One problem that comes up
is the difference in bandwidth
for the two networks. Hosts
on the ethernet side expect
fast response, and if they
don't get a response quickly,
they time out and retry their
transmission. We have found
that when connected to a sys-
tem on our department's ether-
net from a machine on the
packet side of the gateway,
the system on the ethernet
side initially retransmits
packets several times before a
response makes it back. This
results in wasted bandwidth on
the radio side as the packet
is needlessly retransmitted,
and this in turn delays other
packets. Fortunately for some
implementations of TCP, once
December 6, 1988
the connection has been esta-
blished, the system on the
ethernet side learns the
correct timeout, and things
settle down.
_6._2. _I_n_t_e_r_n_e_t _r_o_u_t_i_n_g
Routing is another prob-
lem that arises if we want to
allow connections to internet
hosts beyond our department's
ethernet. In order for a
response to come back, all the
gateways between the source
and the destination must know
the route to the appropriate
packet radio subnet. Since a
class `A' network is allocated
for AMPRnet, and since most
systems by default will main-
tain a single route for a
class `A' network, only one
path exists for all of
AMPRnet, whereas what is
desired is different gateways
for different subnets. It is
conceivable that something
like this could be handled
using ICMP[7] redirects, but
at this time, no mechanism is
in place.
_6._3. _A_c_c_e_s_s _C_o_n_t_r_o_l
Another problem we face
is access control. Since
operation is on frequencies
assigned to the amateur radio
service, any communication
must be initiated by licensed
amateurs. One way we can
solve this is to maintain a
table of authorized addresses
on the non-amateur side of the
gateway. Associated with each
of these addresses is a list
of hosts on the amateur side
of the gateway with which that
_________________________
[7] Internet Control Mes-
sage Protocol
host can communicate. Ini-
tially the table starts off
empty. Whenever a packet is
received on the amateur side
destined for a non-amateur
host, an entry is made in the
table, enabling the non-
amateur host to send packets
in the other direction. After
a certain period of time,
these entries time out if
packets have not been received
from the amateur side of the
gateway.
This scheme can be aug-
mented with a few new ICMP
messages. One message can
force an entry to be removed
from the table of authorized
non-amateur systems. This
allows the amateur radio
operator that initiated the
link to exercise his control
operator function to cut off
the link if he detects inap-
propriate use. Another mes-
sage would allow one to add an
authorized non-amateur host to
the tables with an appropriate
time to live. Both these mes-
sage are allowed to come from
either side of the gateway,
but if they come from the
non-amateur side, they must
include a call sign and a
password of for an authorized
control operator for the gate-
way.
_7. _S_t_a_t_u_s
The packet radio imple-
mentation of IP works. We
have successfully connected
from an IBM PC with a packet
radio controller to a machine
on our department's ethernet
using telnet.[8] The connec-
_________________________
[8] One of several remote
login protocols.
December 6, 1988
tion was made using our
MicroVax-I as a gateway. We
also were able to telnet from
the machine on the ethernet to
the PC.
In the Seattle area, we
are using a duplex repeater as
the base for our local area
network. Our network extends
from Seattle, south to Tacoma,
west to a station on the other
side of Puget sound, and east
to the Cascades.
We have not yet written
the user program to support
connection mode logins, but
that is being considered. We
also have not yet done any-
thing towards using NET/ROM to
interconnect our local area
networks with others, but we
would like to do that soon.
_8. _C_o_n_c_l_u_s_i_o_n_s
The Unix operating system
provides a nice base upon
which network services can be
provided for the amateur
packet radio community. At
the same time, such a system
can serve as a central node in
the interconnection of local
area networks running IP, and
even those that don't run IP.
By linking packet radio net-
works with more established
networks, additional services
become available. Such ser-
vices are available in the
Seattle area. These services
are necessary if we are to
interest people in running
TCP/IP. Further, interconnec-
tion with non-IP packet radio
users is necessary if we are
to interest users who would
like to try IP, but still want
to maintain connectivity with
those still using connection
mode.
_9. _A_c_k_n_o_w_l_e_d_g_m_e_n_t_s
A number of people were
helpful in getting our imple-
mentation running and in dis-
cussing some of the ideas
presented in this paper.
Among them are Bob Albrightson
(N7AKR), Bob Donnell (KD7NM),
Dennis Goodwin (KB7DZ), Mike
Chepponis (K3MC), Steve Ward
(W1GOH), and Ed Lazowska
(KG7K). Thanks are also in
order to Bob Hoffman (N3CVL)
for typesetting this paper.
_1_0. _B_i_b_l_i_o_g_r_a_p_h_y
1. Fox, Terry L.: AX.25 Ama-
teur Packet-Radio Link-
Layer Protocol. Version
2.0. American Radio
Relay league, October
1984.
2. Karn, Phil: ``TCP/IP, A
Proposal for Amateur
Packet Radio Levels 3 and
4'', _F_o_u_r_t_h _A_R_R_L _C_o_m_p_u_t_e_r
_N_e_t_w_o_r_k_i_n_g _C_o_n_f_e_r_e_n_c_e,
San Francisco, 1985.
3. Leffler, S; Joy W.; Fabry
R.; Karels M.: Networking
Implementation Notes 4.3
BSD Edition. Computer
Systems Research Group,
University of California,
Berkeley. June 1986.
December 6, 1988